home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / taropyon / zmodem / src / rsctrl.h < prev    next >
C/C++ Source or Header  |  1993-11-30  |  4KB  |  156 lines

  1. #ifndef    _RSCTRL_H
  2. #define    _RSCTRL_H
  3.  
  4. #define    _RS_N10
  5. /*#define    _LIBL11*/
  6. /*#define    _RS_FMC*/
  7.  
  8. #ifdef    _RS_FMC
  9. #    include    <fmcfrb.h>
  10. #else
  11. #    include    <rs.h>
  12. #endif
  13.  
  14. #ifdef    _RSCTRL_MAIN
  15. #    define    EXT
  16. #else
  17. #    define    EXT    extern
  18. #endif
  19.  
  20. #define    RS_TIMEOUT_LIMIT    (0xFFFF)
  21. #define    RS_PORTNUM            (5)
  22.  
  23. #ifdef    _RS_FMC
  24. typedef RSB_PARA    RSB_T;
  25. #else
  26. #ifdef    _RS_N10
  27. typedef struct
  28. {
  29.     unsigned char    mode;        /* 通信モード            */
  30.     unsigned char    baud;        /* ボーレート            */
  31.     char            *rbuf;        /* 受信バッファアドレス    */
  32.     unsigned short    sel;        /* セレクター値(0x14)    */
  33.     unsigned short    stime;        /* 送信タイムアウト        */
  34.     unsigned short     rtime;        /* 受信タイムアウト        */
  35.     int                rinfbuf;    /* 受信通知アドレス        */
  36.     unsigned char    extmode;    /* 拡張モード(0x00)        */
  37.     unsigned char    xon;        /* XONコード(0x00)        */
  38.     unsigned char    xoff;        /* XOFFコード(0x00)        */
  39. } RSB_T;
  40. #endif
  41. #ifdef    _LIBL11
  42. typedef struct
  43. {
  44.     unsigned char    mode;        /* 通信モード            */
  45.     unsigned char    baud;        /* ボーレート            */
  46.     char            *rbuf;        /* 受信バッファアドレス    */
  47.     unsigned short    sel;        /* セレクター値(0x14)    */
  48.     unsigned short    stime;        /* 送信タイムアウト        */
  49.     unsigned short     rtime;        /* 受信タイムアウト        */
  50.     char            *rinfofs;    /* 受信通知オフセット    */
  51.     unsigned short    rinfsel;    /* 受信通知セレクタ        */
  52.     unsigned char    extmode;    /* 拡張モード(0x00)        */
  53.     unsigned char    xon;        /* XONコード(0x00)        */
  54.     unsigned char    xoff;        /* XOFFコード(0x00)        */
  55.     char            *sendofs;    /* 受信通知オフセット    */
  56.     unsigned short    sendsel;    /* 受信通知セレクタ        */
  57. } RSB_T;
  58. #endif
  59. #endif    /* end of ifdef _RS_FMC */
  60.  
  61. #define    RS_BUFSIZ            (60*1024)
  62.  
  63. typedef    struct _RSB_BUF
  64. {    unsigned short int    len;
  65.     unsigned short int    cnt_1;
  66.     unsigned short int    inp_buf;
  67.     unsigned short int    out_buf;
  68.     char                buf[RS_BUFSIZ+32];
  69. } RSBUF_T;
  70.  
  71.  
  72. typedef    struct
  73. {
  74.     RSB_T        *rsb;
  75.     RSBUF_T        *rsBuf;
  76.     int            use;
  77.     int            overFlag;
  78.     int            attr;
  79. } RSCTRL_T;
  80.  
  81. EXT    RSCTRL_T    RsCtrl[RS_PORTNUM]
  82. #ifdef    _RSCTRL_MAIN
  83. =
  84. {    {    NULL,    NULL,    0,    0,    0 },
  85.     {    NULL,    NULL,    0,    0,    0 },
  86.     {    NULL,    NULL,    0,    0,    0 },
  87.     {    NULL,    NULL,    0,    0,    0 },
  88.     {    NULL,    NULL,    0,    0,    0 },
  89. }
  90. #endif
  91. ;
  92.  
  93. #define    RSATT_BP    (0x80)
  94.  
  95. #define    RSMD_BIT_7                (0)
  96. #define    RSMD_BIT_8                (1)
  97. #define    RSMD_PARITY                (2)
  98. #define    RSMD_PARITY_ODD            (0)
  99. #define    RSMD_PARITY_EVEN        (4)
  100. #define    RSMD_STOPBIT_1            (0)
  101. #define    RSMD_STOPBIT_2            (8)
  102. #define    RSMD_XCTRL_OFF            (0)
  103. #define    RSMD_XCTRL_ON            (16)
  104. #define    RSMD_CLOCK_INT            (0)
  105. #define    RSMD_CLOCK_EXT            (32)
  106. #define    RSMD_EXINT                (128)
  107.  
  108. #define    RSBAUD_300                (0)
  109. #define    RSBAUD_600                (1)
  110. #define    RSBAUD_1200                (2)
  111. #define    RSBAUD_2400                (3)
  112. #define    RSBAUD_4800                (4)
  113. #define    RSBAUD_9600                (5)
  114. #define    RSBAUD_19200            (6)
  115.  
  116.  
  117. extern    int        RS_reopen  ( int port, int md, int bp );
  118. extern    void    RS_putc    ( int port, int ch);
  119. extern    void    RS_puts    ( int port, CONST char *s );
  120. extern    void    RS_printf  ( int port, CONST char *form, ... );
  121. extern    void    RS_close   ( int port );
  122. extern    RSB_T    *RS_open   ( int port );
  123. extern    int        RS_chk     ( int port );
  124. extern    int        RS_getc    ( int port );
  125. extern    void    RS_breakOut( int port, int tm );
  126. extern    void    RS_pause(void);
  127. extern    void    RS_continue(void);
  128. extern    int        RS_init(void);
  129. extern    int        RS_end (void);
  130.  
  131.  
  132. #ifdef    _RS_FMC
  133. #    define    RSB_OPEN(_port)                RSB_open(_port)
  134. #    define    RSB_CLOSE(_port)            RSB_close(_port)
  135. #    define    RSB_SETPARA(_port,_para)    RSB_setpara(_port,_para)
  136. #    define    RSB_CTRL(_port,_ctrl)        RSB_ctrl(_port,_ctrl)
  137. #    define    RSB_READ(_port,_len)        RSB_read(_port,_len)
  138. #    define    RSB_RECEIVE(_port,_st,_sr)    RSB_receive(_port,_st,_sr)
  139. #    define    RSB_BREAK(_port,_tm)        RSB_break(_port,_tm)
  140. #    define    RSB_INITBUF(_port)            RSB_initbuf(_port)
  141. #    define    RSB_DTR(_port,_sw)            RSB_dtr(_port,_sw)
  142. #else
  143. #    define    RSB_OPEN(_port)                RSB_Open(_port)
  144. #    define    RSB_CLOSE(_port)            RSB_Close(_port)
  145. #    define    RSB_SETPARA(_port,_para)    RSB_Setpara(_port,_para)
  146. #    define    RSB_CTRL(_port,_ctrl)        RSB_Ctrl(_port,_ctrl)
  147. #    define    RSB_READ(_port,_len)        RSB_Read(_port,_len)
  148. #    define    RSB_RECEIVE(_port,_st,_sr)    RSB_Receive(_port,_st,_sr)
  149. #    define    RSB_BREAK(_port,_tm)        RSB_Break(_port,_tm)
  150. #    define    RSB_INITBUF(_port)            RSB_Initbuf(_port)
  151. #    define    RSB_DTR(_port,_sw)            RSB_Dtr(_port,_sw)
  152. #endif
  153.  
  154. #undef    EXT
  155. #endif
  156.